home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-9.10-netbook-remix-PL.iso / casper / filesystem.squashfs / usr / share / hplip / ui4 / aligndialog.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-10-28  |  25.9 KB  |  581 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import operator
  5. from base.g import *
  6. from base import device, utils, maint, status
  7. from base.codes import *
  8. from ui_utils import *
  9. from PyQt4.QtCore import *
  10. from PyQt4.QtGui import *
  11. from aligndialog_base import Ui_Dialog
  12. PAGE_START = 0
  13. PAGE_LOAD_PAPER = 1
  14. PAGE_EDGE = 2
  15. PAGE_ALIGNMENT_NUMBER = 3
  16. PAGE_COLOR_ADJ = 4
  17. PAGE_LBOW = 5
  18. PAGE_AIO = 6
  19. PAGE_FRONT_PANEL = 7
  20. BUTTON_ALIGN = 0
  21. BUTTON_NEXT = 1
  22. BUTTON_FINISH = 2
  23. ALIGN_TYPE_INITIAL = 1000
  24. ALIGN_TYPE_TEST = 1001
  25. ALIGN_TYPE_XBOW_OFFSET = 100
  26. ALIGN_TYPE_XBOW_BLACK_ONLY = ALIGN_TYPE_XBOW_OFFSET + AGENT_CONFIG_BLACK_ONLY
  27. ALIGN_TYPE_XBOW_PHOTO_ONLY = ALIGN_TYPE_XBOW_OFFSET + AGENT_CONFIG_PHOTO_ONLY
  28. ALIGN_TYPE_XBOW_COLOR_ONLY = ALIGN_TYPE_XBOW_OFFSET + AGENT_CONFIG_COLOR_ONLY
  29. ALIGN_TYPE_XBOW_COLOR_AND_BLACK = ALIGN_TYPE_XBOW_OFFSET + AGENT_CONFIG_COLOR_AND_BLACK
  30. ALIGN_TYPE_XBOW_COLOR_AND_PHOTO = ALIGN_TYPE_XBOW_OFFSET + AGENT_CONFIG_COLOR_AND_PHOTO
  31.  
  32. def true():
  33.     return True
  34.  
  35.  
  36. class AlignDialog(QDialog, Ui_Dialog):
  37.     
  38.     def __init__(self, parent, device_uri):
  39.         QDialog.__init__(self, parent)
  40.         self.device_uri = device_uri
  41.         self.mq = { }
  42.         self.step_max = 0
  43.         self.align_type = ALIGN_TYPE_INITIAL
  44.         self.step = 1
  45.         (self.a, self.b, self.c, self.d, self.zca) = (0, 0, 0, 0, 0)
  46.         (self.e, self.f, self.g) = (0, 0, 0)
  47.         self.num_inks = 0
  48.         self.pattern = 0
  49.         self.values = []
  50.         self.abort = False
  51.         self.seq_index = 0
  52.         self.max_steps = {
  53.             ALIGN_TYPE_UNSUPPORTED: 1,
  54.             ALIGN_TYPE_AUTO: 2,
  55.             ALIGN_TYPE_9XX: 7,
  56.             ALIGN_TYPE_8XX: 7,
  57.             ALIGN_TYPE_LIDIL_0_3_8: 0,
  58.             ALIGN_TYPE_LIDIL_0_4_3: 0,
  59.             ALIGN_TYPE_LIDIL_AIO: 3,
  60.             ALIGN_TYPE_LIDIL_VIP: 0,
  61.             ALIGN_TYPE_DESKJET_450: 0,
  62.             ALIGN_TYPE_9XX_NO_EDGE_ALIGN: 6,
  63.             ALIGN_TYPE_LBOW: 0,
  64.             ALIGN_TYPE_LIDIL_0_5_4: 0,
  65.             ALIGN_TYPE_OJ_PRO: 0,
  66.             ALIGN_TYPE_TEST: 0,
  67.             ALIGN_TYPE_AIO: 3,
  68.             ALIGN_TYPE_LIDIL_DJ_D1600: 0 }
  69.         self.seq = {
  70.             ALIGN_TYPE_TEST: [
  71.                 (self.showColorAdjustPage, ('F', 21)),
  72.                 (self.endColorAdjustPage, ('F',)),
  73.                 (self.showColorAdjustPage, ('G', 11)),
  74.                 (self.endColorAdjustPage, ('G',)),
  75.                 (self.close, None)],
  76.             ALIGN_TYPE_INITIAL: [
  77.                 (self.showStartPage, None),
  78.                 (self.endStartPage, None)],
  79.             ALIGN_TYPE_UNSUPPORTED: [
  80.                 (self.showFrontPanelPage, None),
  81.                 (self.endFronPanelPage, None),
  82.                 (self.close, None)],
  83.             ALIGN_TYPE_AUTO: [
  84.                 (self.showLoadPaperPage, None),
  85.                 ((maint.AlignType1PML,), ((lambda : self.dev), (lambda : true))),
  86.                 (self.closeAll, None),
  87.                 (self.close, None)],
  88.             ALIGN_TYPE_8XX: [
  89.                 (self.checkType2PenConfig, None),
  90.                 (self.showLoadPaperPage, None),
  91.                 ((maint.alignType2Phase1,), ((lambda : self.dev),)),
  92.                 (self.showAlignmentNumberPage, ('A', 'h', 'kc', 2, 11)),
  93.                 (self.endAlignmentNumberPage, ('A',)),
  94.                 (self.showAlignmentNumberPage, ('B', 'v', 'kc', 2, 11)),
  95.                 (self.endAlignmentNumberPage, ('B',)),
  96.                 (self.showAlignmentNumberPage, ('C', 'v', 'kc', 2, 5)),
  97.                 (self.endAlignmentNumberPage, ('C',)),
  98.                 (self.showAlignmentNumberPage, ('D', 'v', 'c', 2, 5)),
  99.                 (self.endAlignmentNumberPage, ('D',)),
  100.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  101.                 (self.showLoadPaperPage, ((lambda : True),)),
  102.                 ((maint.alignType2Phase2,), (((lambda : self.dev),), ((lambda : self.a),), ((lambda : self.b),), ((lambda : self.c),), (lambda : self.d))),
  103.                 (self.close, None)],
  104.             ALIGN_TYPE_9XX: [
  105.                 (self.showLoadPaperPage, None),
  106.                 (self.showAlignmentNumberPage, ('A', 'h', 'kc', 2, 11)),
  107.                 (self.endAlignmentNumberPage, ('A',)),
  108.                 (self.showAlignmentNumberPage, ('B', 'v', 'kc', 2, 11)),
  109.                 (self.endAlignmentNumberPage, ('B',)),
  110.                 (self.showAlignmentNumberPage, ('C', 'v', 'k', 2, 11)),
  111.                 (self.endAlignmentNumberPage, ('C',)),
  112.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  113.                 (self.showAlignmentNumberPage, ('D', 'v', 'kc', 2, 11)),
  114.                 (self.endAlignmentNumberPage, ('D',)),
  115.                 ((maint.alignType3Phase2,), (((lambda : self.dev),), ((lambda : self.a),), ((lambda : self.b),), ((lambda : self.c),), (lambda : self.d))),
  116.                 ((maint.alignType3Phase3,), ((lambda : self.dev),)),
  117.                 (self.showPageEdgePage, None),
  118.                 (self.endPageEdgePage, None),
  119.                 ((maint.alignType3Phase4,), (((lambda : self.dev),), (lambda : self.zca))),
  120.                 (self.close, None)],
  121.             ALIGN_TYPE_LIDIL_0_3_8: [
  122.                 (self.showLoadPaperPage, None),
  123.                 (self.setPenConfig, None),
  124.                 ((maint.alignType4Phase1,), ((lambda : self.dev),)),
  125.                 (self.setXBow, None)],
  126.             ALIGN_TYPE_LIDIL_0_4_3: [
  127.                 (self.showLoadPaperPage, None),
  128.                 (self.setPenConfig, None),
  129.                 ((maint.alignType5Phase1,), ((lambda : self.dev),)),
  130.                 (self.showPageEdgePage, ('A',)),
  131.                 (self.endPageEdgePage, None),
  132.                 (self.setXBow, None)],
  133.             ALIGN_TYPE_LIDIL_VIP: [
  134.                 (self.showLoadPaperPage, None),
  135.                 (self.setPenConfig, None),
  136.                 ((maint.alignType7Phase1,), ((lambda : self.dev),)),
  137.                 (self.showPageEdgePage, ('A',)),
  138.                 (self.endPageEdgePage, None),
  139.                 (self.setXBow, None)],
  140.             ALIGN_TYPE_XBOW_BLACK_ONLY: [
  141.                 (self.showAlignmentNumberPage, ('B', 'v', 'k', 2, 11)),
  142.                 (self.endAlignmentNumberPage, ('B',)),
  143.                 (self.setXBowValues, None),
  144.                 (self.close, None)],
  145.             ALIGN_TYPE_XBOW_PHOTO_ONLY: [
  146.                 (self.showAlignmentNumberPage, ('B', 'v', 'k', 2, 11)),
  147.                 (self.endAlignmentNumberPage, ('B',)),
  148.                 (self.setXBowValues, None),
  149.                 (self.close, None)],
  150.             ALIGN_TYPE_XBOW_COLOR_ONLY: [
  151.                 (self.showAlignmentNumberPage, ('B', 'v', 'kc', 2, 11)),
  152.                 (self.endAlignmentNumberPage, ('B',)),
  153.                 (self.setXBowValues, None),
  154.                 (self.close, None)],
  155.             ALIGN_TYPE_XBOW_COLOR_AND_BLACK: [
  156.                 (self.showAlignmentNumberPage, ('B', 'h', 'kc', 2, 17)),
  157.                 (self.endAlignmentNumberPage, ('B',)),
  158.                 (self.showAlignmentNumberPage, ('C', 'v', 'kc', 2, 17)),
  159.                 (self.endAlignmentNumberPage, ('C',)),
  160.                 (self.showAlignmentNumberPage, ('D', 'v', 'k', 2, 11)),
  161.                 (self.endAlignmentNumberPage, ('D',)),
  162.                 (self.showAlignmentNumberPage, ('E', 'v', 'kc', 2, 11)),
  163.                 (self.endAlignmentNumberPage, ('E',)),
  164.                 (self.setXBowValues, None),
  165.                 (self.close, None)],
  166.             ALIGN_TYPE_XBOW_COLOR_AND_PHOTO: [
  167.                 (self.showAlignmentNumberPage, ('B', 'h', 'kc', 2, 17)),
  168.                 (self.endAlignmentNumberPage, ('B',)),
  169.                 (self.showAlignmentNumberPage, ('C', 'v', 'kc', 2, 17)),
  170.                 (self.endAlignmentNumberPage, ('C',)),
  171.                 (self.showAlignmentNumberPage, ('D', 'v', 'k', 2, 11)),
  172.                 (self.endAlignmentNumberPage, ('D',)),
  173.                 (self.showAlignmentNumberPage, ('E', 'v', 'kc', 2, 11)),
  174.                 (self.endAlignmentNumberPage, ('E',)),
  175.                 (self.showColorAdjustPage, ('F', 21)),
  176.                 (self.endColorAdjustPage, ('F',)),
  177.                 (self.showColorAdjustPage, ('G', 21)),
  178.                 (self.endColorAdjustPage, ('G',)),
  179.                 (self.setXBowValues, None),
  180.                 (self.close, None)],
  181.             ALIGN_TYPE_LIDIL_AIO: [
  182.                 (self.showLoadPaperPage, None),
  183.                 ((maint.alignType6Phase1,), ((lambda : self.dev),)),
  184.                 (self.setAlignButton, (BUTTON_FINISH,)),
  185.                 (self.showAioPage, None),
  186.                 (self.close, None)],
  187.             ALIGN_TYPE_DESKJET_450: [
  188.                 (self.showLoadPaperPage, None),
  189.                 (self.alignType8Phase1, None),
  190.                 (self.showAlignmentNumberPage, ('A', 'v', 'k', 3, 9)),
  191.                 (self.endAlignmentNumberPage, ('A',)),
  192.                 (self.showAlignmentNumberPage, ('B', 'v', 'c', 3, 9)),
  193.                 (self.endAlignmentNumberPage, ('B',)),
  194.                 (self.showAlignmentNumberPage, ('C', 'v', 'kc', 3, 9)),
  195.                 (self.endAlignmentNumberPage, ('C',)),
  196.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  197.                 (self.showAlignmentNumberPage, ('D', 'h', 'kc', 3, 9)),
  198.                 (self.endAlignmentNumberPage, ('D',)),
  199.                 ((maint.alignType3Phase2,), (((lambda : self.dev),), ((lambda : self.num_inks),), ((lambda : self.a),), ((lambda : self.b),), ((lambda : self.c),), (lambda : self.d))),
  200.                 (self.close, None)],
  201.             ALIGN_TYPE_9XX_NO_EDGE_ALIGN: [
  202.                 (self.showLoadPaperPage, None),
  203.                 (self.showAlignmentNumberPage, ('A', 'h', 'kc', 2, 11)),
  204.                 (self.endAlignmentNumberPage, ('A',)),
  205.                 (self.showAlignmentNumberPage, ('B', 'v', 'kc', 2, 11)),
  206.                 (self.endAlignmentNumberPage, ('B',)),
  207.                 (self.showAlignmentNumberPage, ('C', 'v', 'k', 2, 11)),
  208.                 (self.endAlignmentNumberPage, ('C',)),
  209.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  210.                 (self.showAlignmentNumberPage, ('D', 'v', 'kc', 2, 11)),
  211.                 (self.endAlignmentNumberPage, ('D',)),
  212.                 ((maint.alignType3Phase2,), (((lambda : self.dev),), ((lambda : self.a),), ((lambda : self.b),), ((lambda : self.c),), (lambda : self.d))),
  213.                 (self.close, None)],
  214.             ALIGN_TYPE_LBOW: [
  215.                 (self.showLoadPaperPage, None),
  216.                 ((maint.alignType10Phase1,), ((lambda : self.dev),)),
  217.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  218.                 ((self.showLBowPage,), ((lambda : self.pattern),)),
  219.                 (self.endLBowPage, None),
  220.                 ((maint.alignType10Phase2,), (((lambda : self.dev),), ((lambda : self.values),), (lambda : self.pattern))),
  221.                 (self.setAlignButton, (BUTTON_FINISH,)),
  222.                 (self.showLoadPaperPage, ((lambda : True),)),
  223.                 ((maint.alignType10Phase3,), ((lambda : self.dev),)),
  224.                 (self.close, None)],
  225.             ALIGN_TYPE_LIDIL_0_5_4: [
  226.                 (self.showLoadPaperPage, None),
  227.                 ((maint.alignType11Phase1,), ((lambda : self.dev),)),
  228.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  229.                 ((self.showLBowPage,), ((lambda : self.pattern),)),
  230.                 (self.endLBowPage, None),
  231.                 ((maint.alignType11Phase2,), (((lambda : self.dev),), ((lambda : self.values),), ((lambda : self.pattern),), (lambda : self.dev.pen_config))),
  232.                 (self.setAlignButton, (BUTTON_FINISH,)),
  233.                 (self.showLoadPaperPage, ((lambda : True),)),
  234.                 ((maint.alignType11Phase3,), ((lambda : self.dev),)),
  235.                 (self.close, None)],
  236.             ALIGN_TYPE_OJ_PRO: [
  237.                 (self.showLoadPaperPage, None),
  238.                 ((maint.AlignType12,), ((lambda : self.dev), (lambda : true))),
  239.                 (self.close, None)],
  240.             ALIGN_TYPE_AIO: [
  241.                 (self.showLoadPaperPage, None),
  242.                 ((maint.alignType13Phase1,), ((lambda : self.dev),)),
  243.                 (self.setAlignButton, (BUTTON_FINISH,)),
  244.                 (self.showAioPage, None),
  245.                 (self.close, None)],
  246.             ALIGN_TYPE_LIDIL_DJ_D1600: [
  247.                 (self.showLoadPaperPage, None),
  248.                 ((maint.alignType14Phase1,), ((lambda : self.dev),)),
  249.                 (self.setAlignButton, (BUTTON_ALIGN,)),
  250.                 ((self.showLBowPage,), ((lambda : self.pattern),)),
  251.                 (self.endLBowPage, None),
  252.                 ((maint.alignType14Phase2,), (((lambda : self.dev),), ((lambda : self.values),), ((lambda : self.pattern),), (lambda : self.dev.pen_config))),
  253.                 (self.setAlignButton, (BUTTON_FINISH,)),
  254.                 (self.showLoadPaperPage, ((lambda : True),)),
  255.                 ((maint.alignType14Phase3,), ((lambda : self.dev),)),
  256.                 (self.close, None)] }
  257.         self.setupUi(self)
  258.         self.initUi()
  259.         QTimer.singleShot(0, self.nextSequence)
  260.  
  261.     
  262.     def initUi(self):
  263.         self.connect(self.CancelButton, SIGNAL('clicked()'), self.CancelButton_clicked)
  264.         self.connect(self.NextButton, SIGNAL('clicked()'), self.NextButton_clicked)
  265.         self.connect(self.DeviceComboBox, SIGNAL('DeviceUriComboBox_noDevices'), self.DeviceUriComboBox_noDevices)
  266.         self.connect(self.DeviceComboBox, SIGNAL('DeviceUriComboBox_currentChanged'), self.DeviceUriComboBox_currentChanged)
  267.         self.DeviceComboBox.setFilter({
  268.             'align-type': (operator.gt, 0) })
  269.         self.setWindowIcon(QIcon(load_pixmap('hp_logo', '128x128')))
  270.         if self.device_uri:
  271.             self.DeviceComboBox.setInitialDevice(self.device_uri)
  272.         
  273.  
  274.     
  275.     def DeviceUriComboBox_noDevices(self):
  276.         FailureUI(self, self._AlignDialog__tr('<b>No devices that support print cartridge alignment found.</b><p>Click <i>OK</i> to exit.</p>'))
  277.         self.close()
  278.  
  279.     
  280.     def DeviceUriComboBox_currentChanged(self, device_uri):
  281.         self.device_uri = device_uri
  282.  
  283.     
  284.     def CancelButton_clicked(self):
  285.         self.close()
  286.  
  287.     
  288.     def NextButton_clicked(self):
  289.         self.nextSequence()
  290.  
  291.     
  292.     def nextSequence(self):
  293.         while True:
  294.             
  295.             try:
  296.                 (seq, params) = self.seq[self.align_type][self.seq_index]
  297.             except IndexError:
  298.                 break
  299.  
  300.             if seq is None:
  301.                 self.seq_index += 1
  302.                 continue
  303.             
  304.             self.new_page = False
  305.             t = []
  306.             if params is not None:
  307.                 for p in params:
  308.                     
  309.                     try:
  310.                         t.append(p())
  311.                     continue
  312.                     t.append(p)
  313.                     continue
  314.  
  315.                 
  316.             
  317.             
  318.             try:
  319.                 seq.func_name(','.join % ([], []([ repr(x) for x in t ])))
  320.             except AttributeError:
  321.                 pass
  322.  
  323.             
  324.             try:
  325.                 seq(*t)
  326.             except Error:
  327.                 CheckDeviceUI(self)
  328.                 break
  329.  
  330.             self.seq_index += 1
  331.             if self.new_page:
  332.                 break
  333.             
  334.             if self.abort:
  335.                 self.close()
  336.                 continue
  337.  
  338.     
  339.     def showStartPage(self):
  340.         num_devices = self.DeviceComboBox.setDevices()
  341.         if num_devices == 1:
  342.             self.skipPage()
  343.             return None
  344.         self.DeviceComboBox.updateUi()
  345.         self.displayPage(PAGE_START)
  346.  
  347.     
  348.     def endStartPage(self):
  349.         self.mq = device.queryModelByURI(self.device_uri)
  350.         self.align_type = self.mq.get('align-type', ALIGN_TYPE_NONE)
  351.         self.seq_index = -1
  352.         log.debug('align-type=%d' % self.align_type)
  353.         self.step_max = self.max_steps[self.align_type]
  354.         
  355.         try:
  356.             self.dev = device.Device(self.device_uri)
  357.         except Error:
  358.             CheckDeviceUI(self)
  359.             return None
  360.  
  361.  
  362.     
  363.     def showLoadPaperPage(self, finish = False):
  364.         if finish:
  365.             self.LoadPaper.button_name = self._AlignDialog__tr('Finish >')
  366.         
  367.         self.LoadPaper.updateUi()
  368.         self.displayPage(PAGE_LOAD_PAPER)
  369.  
  370.     
  371.     def endLoadPaperPage(self):
  372.         pass
  373.  
  374.     
  375.     def showAlignmentNumberPage(self, line_id, orientation, colors, line_count, choice_count):
  376.         self.AlignmentNumberTitle.setText(self._AlignDialog__tr('Choose the set of lines in group %1 where the line segments are <b>best</b> aligned.').arg(line_id))
  377.         self.AlignmentNumberIcon.setPixmap(load_pixmap('%s-%s-%d' % (orientation, colors, line_count), 'other'))
  378.         self.AlignmentNumberComboBox.clear()
  379.         for x in range(choice_count):
  380.             self.AlignmentNumberComboBox.addItem(QString('%1%2').arg(line_id).arg(x + 1))
  381.         
  382.         self.displayPage(PAGE_ALIGNMENT_NUMBER)
  383.  
  384.     
  385.     def endAlignmentNumberPage(self, line_id):
  386.         v = int(str(self.AlignmentNumberComboBox.currentText())[1:])
  387.         if line_id == 'A':
  388.             self.a = v
  389.             log.debug('A=%d' % v)
  390.         elif line_id == 'B':
  391.             self.b = v
  392.             log.debug('B=%d' % v)
  393.         elif line_id == 'C':
  394.             self.c = v
  395.             log.debug('C=%d' % v)
  396.         elif line_id == 'D':
  397.             self.d = v
  398.             log.debug('D=%d' % v)
  399.         
  400.  
  401.     
  402.     def showPageEdgePage(self, prefix = None, count = 13):
  403.         self.PageEdgeTitle.setText(self._AlignDialog__tr('Choose the <b>numbered arrow</b> that <b>best </b>marks the edge of the paper.'))
  404.         self.PageEdgeIcon.setPixmap(load_pixmap('zca.png', 'other'))
  405.         self.PageEdgeComboBox.clear()
  406.         for x in range(count):
  407.             if prefix is None:
  408.                 self.PageEdgeComboBox.addItem(QString('%1').arg(x + 1))
  409.                 continue
  410.             self.PageEdgeComboBox.addItem(QString('%1%2').arg(prefix).arg(x + 1))
  411.         
  412.         self.displayPage(PAGE_EDGE)
  413.  
  414.     
  415.     def endPageEdgePage(self):
  416.         v = int(str(self.PageEdgeComboBox.currentText())[1:])
  417.         self.zca = v
  418.         log.debug('ZCA=%d' % v)
  419.  
  420.     
  421.     def showLBowPage(self, pattern):
  422.         self.LBowIcon.setPixmap(load_pixmap('align10', 'other'))
  423.         if self.align_type == ALIGN_TYPE_LBOW:
  424.             pattern = maint.alignType10SetPattern(self.dev)
  425.         elif self.align_type == ALIGN_TYPE_LIDIL_DJ_D1600:
  426.             pattern = maint.alignType14SetPattern(self.dev)
  427.         else:
  428.             pattern = maint.alignType11SetPattern(self.dev)
  429.         if pattern is None:
  430.             log.error('Invalid pattern!')
  431.         
  432.         self.controls = maint.align10and11and14Controls(pattern, self.align_type)
  433.         keys = self.controls.keys()
  434.         keys.sort()
  435.         max_line = 'A'
  436.         for line in keys:
  437.             if self.controls[line][0]:
  438.                 max_line = line
  439.                 continue
  440.         
  441.         self.LBowTitle.setText(self._AlignDialog__tr('For each row A - %1, select the label representing the box in which in the inner lines are the <b>least</b> visible.').arg(max_line))
  442.         for line in self.controls:
  443.             if not self.controls[line][0]:
  444.                 eval('self.%sComboBox.setEnabled(False)' % line.lower())
  445.                 continue
  446.             for x in range(self.controls[line][1]):
  447.                 eval('self.%sComboBox.addItem("%s%d")' % (line.lower(), line, x + 1))
  448.             
  449.         
  450.         self.displayPage(PAGE_LBOW)
  451.  
  452.     
  453.     def endLBowPage(self):
  454.         self.values = []
  455.         controls = self.controls.keys()
  456.         controls.sort()
  457.         for line in controls:
  458.             if not self.controls[line][0]:
  459.                 self.values.append(0)
  460.                 continue
  461.             exec 'selected = unicode(self.%sComboBox.currentText())' % line.lower()
  462.             
  463.             try:
  464.                 selected = int(selected[1:])
  465.             except ValueError:
  466.                 selected = 0
  467.  
  468.             self.values.append(selected)
  469.         
  470.  
  471.     
  472.     def showAioPage(self):
  473.         self.AioIcon.setPixmap(load_pixmap('aio_align', 'other'))
  474.         self.displayPage(PAGE_AIO)
  475.  
  476.     
  477.     def endAioPage(self):
  478.         pass
  479.  
  480.     
  481.     def showColorAdjustPage(self, line_id, count = 21):
  482.         self.ColorAdjustComboBox.clear()
  483.         self.ColorAdjustIcon.setPixmap(load_pixmap('color_adj', 'other'))
  484.         self.ColorAdjustLabel.setText(self._AlignDialog__tr('Line %1:').arg(line_id))
  485.         for x in range(count):
  486.             self.ColorAdjustComboBox.addItem(QString('%1%2').arg(line_id).arg(x + 1))
  487.         
  488.         self.displayPage(PAGE_COLOR_ADJ)
  489.  
  490.     
  491.     def endColorAdjustPage(self, line_id):
  492.         v = int(str(self.ColorAdjustComboBox.currentText())[1:])
  493.         if line_id == 'F':
  494.             self.f = v
  495.             log.debug('F=%d' % v)
  496.         elif line_id == 'G':
  497.             self.g = v
  498.             log.debug('G=%d' % v)
  499.         
  500.  
  501.     
  502.     def showFrontPanelPage(self):
  503.         self.setAlignButton(BUTTON_FINISH)
  504.         self.displayPage(PAGE_FRONT_PANEL)
  505.  
  506.     
  507.     def endFronPanelPage(self):
  508.         pass
  509.  
  510.     
  511.     def checkType2PenConfig(self):
  512.         pass
  513.  
  514.     
  515.     def alignType8Phase1(self):
  516.         self.num_inks = maint.alignType8Phase1(self.dev)
  517.  
  518.     
  519.     def setXBow(self):
  520.         self.real_align_type = self.align_type
  521.         self.align_type = ALIGN_TYPE_XBOW_OFFSET + self.dev.pen_config
  522.         self.seq_index = -1
  523.  
  524.     
  525.     def setXBowValues(self):
  526.         if self.real_align_type == ALIGN_TYPE_LIDIL_0_3_8:
  527.             maint.alignType4Phase2(self.dev, self.zca, self.b, self.c, self.d, self.e)
  528.             maint.alignType4Phase3(self.dev)
  529.         elif self.real_align_type == ALIGN_TYPE_LIDIL_0_4_3:
  530.             maint.alignType5Phase2(self.dev, self.zca, self.b, self.c, self.d, self.e, self.f, self.g)
  531.             maint.alignType5Phase3(self.dev)
  532.         elif self.real_align_type == ALIGN_TYPE_LIDIL_VIP:
  533.             maint.alignType7Phase2(self.dev, self.zca, self.b, self.c, self.d, self.e, self.f, self.g)
  534.             maint.alignType7Phase3(self.dev)
  535.         
  536.  
  537.     
  538.     def displayPage(self, page):
  539.         self.updateStepText(self.step)
  540.         self.step += 1
  541.         self.new_page = True
  542.         self.StackedWidget.setCurrentIndex(page)
  543.  
  544.     
  545.     def skipPage(self):
  546.         self.step += 1
  547.         self.new_page = False
  548.  
  549.     
  550.     def updateStepText(self, p = None):
  551.         if p is None or not (self.step_max):
  552.             self.StepText.setText(QString(''))
  553.         else:
  554.             self.StepText.setText(self._AlignDialog__tr('Step %1 of %2').arg(p).arg(self.step_max))
  555.  
  556.     
  557.     def setAlignButton(self, typ = BUTTON_ALIGN):
  558.         if typ == BUTTON_ALIGN:
  559.             self.NextButton.setText(self._AlignDialog__tr('Align'))
  560.         elif typ == BUTTON_NEXT:
  561.             self.NextButton.setText(self._AlignDialog__tr('Next >'))
  562.         elif typ == BUTTON_FINISH:
  563.             self.NextButton.setText(self._AlignDialog__tr('Finish'))
  564.         
  565.  
  566.     
  567.     def setPenConfig(self):
  568.         self.dev.pen_config = status.getPenConfiguration(self.dev.getStatusFromDeviceID())
  569.  
  570.     
  571.     def closeAll(self):
  572.         if self.dev is not None:
  573.             self.dev.close()
  574.         
  575.  
  576.     
  577.     def __tr(self, s, c = None):
  578.         return qApp.translate('AlignDialog', s, c)
  579.  
  580.  
  581.